AWS Lambdaがarm64アーキテクチャをサポートしました
AWSチームのすずきです。
AWS Lambda が arm64アーキテクチャの AWS Graviton2 processor をサポートするアップデートがありました。
アーキテクチャの選択
AWSコンソールを利用したLambda関数の作成時、アーキテクチャとして「arm64」、「x86_64」の選択が可能になりました。
料金
arm64アーキテクチャのLambda、x86_64と比較し 約20%廉価な実行時間の設定となっています。
- Lambda 実行時間に対する料金(1ms)
Memory (MB) | x86_64 料金 | arm64 料金 |
---|---|---|
128 | 0.0000000021 | 0.0000000017 |
512 | 0.0000000083 | 0.0000000067 |
1024 | 0.0000000167 | 0.0000000133 |
1536 | 0.0000000250 | 0.0000000200 |
2048 | 0.0000000333 | 0.0000000267 |
3072 | 0.0000000500 | 0.0000000400 |
4096 | 0.0000000667 | 0.0000000533 |
5120 | 0.0000000833 | 0.0000000667 |
6144 | 0.0000001000 | 0.0000000800 |
7168 | 0.0000001167 | 0.0000000933 |
8192 | 0.0000001333 | 0.0000001067 |
9216 | 0.0000001500 | 0.0000001200 |
10240 | 0.0000001667 | 0.0000001333 |
- 東京リージョン、料金単価はUSドル
性能比較
単純なループ処理のみ行うPythonコードを用意。その実行時間の比較を試みました。
def lambda_handler(event, context): i = 0 while i < 1000000: i += 1
- ランタイム: Python3.9
- メモリ割り当て: 128MB
結果
arm64アーキテクチャのLambda、x86_64と比較し約13%高速でした。
- arm64
Duration: 830.96 ms Billed Duration: 831 ms Memory Size: 128 MB Max Memory Used: 36 MB
-
x86_64
Duration: 950.43 ms Billed Duration: 951 ms Memory Size: 128 MB Max Memory Used: 37 MB
まとめ
arm64アーキテクチャの AWS Lambda、x86_64と比較してコスト効率の良い利用が期待できます。
x86_64 アーキテクチャに依存しないLambda関数を利用する場合には、arm64アーキテクチャもお試しください。